<?php  namespace Common\Model;
use Hdphp\Model\Model;
class GoodsList extends Model{
	//指定表名
	protected $table='shop_goods_list';
	//指定自动验证
	protected $validate=array(
//	array(字段名,验证方法,错误信息,验证条件,验证时机)
		array('number','required','商品货号不能为空',3,3),
		array('inventory','required','商品存储量不能为空',3,3)
	);
	
	
	
	
	public function store(){
		$gtidArr=Q('post.gtid');
//		p($gtidArr);exit;
		$shop_goods_gid=Q('post.shop_goods_gid');
		//获得原有的同一个商品id的货品
		$oldData=$this->where("shop_goods_gid={$shop_goods_gid}")->get();
		//1、首先判断商品规格中是否有空的数值，有的话，则返回错误
		//此处的$gtidArr如果为空，有键名没有键值，所以可以被循环
		foreach($gtidArr as $k=>$v ){
			if(!$v){
				$this->error="所有商品规格都不能为空";
				return FALSE;
			}
		}
		
		//2、判断不为空的情况下在和原来数据进行对比，是否有相同规格的数据，如果有的话，则返回错误
		foreach ($oldData as $k => $v) {
			$ps=explode(',', $v['combine']);
			foreach ($ps as $kk => $vv) {
				if($vv){
					$psArr[]=$vv;
				}
			}
			if(!array_diff($psArr, $gtidArr)){
				$this->error='商品规格已被添加，请重新添加';
				return FALSE;
			};
		}
		
//		3、经过前两个过程的判断，则可以往数据库中压入数据了
		if($data=$this->create()){
			$data['combine']=implode(',', $gtidArr);
			$this->add($data);
			return TRUE;
		}
		return FALSE;
	}
}
